package com.ablog.service.impl;

import com.ablog.model.ArticleType;
import com.ablog.dao.ArticleTypeMapper;
import com.ablog.service.ArticleTypeService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

/**
 * (ArticleType)表服务实现类
 *
 * @author mopeiwen
 * @since 2020-07-22 13:11:20
 */
@Service
@Transactional
public class ArticleTypeServiceImpl implements ArticleTypeService {
    @Resource
    private ArticleTypeMapper articleTypeMapper;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public ArticleType queryById(String id) {
        return this.articleTypeMapper.selectByPrimaryKey(id);
    }
    
    /**
     * 通过ArticleType对象查询集合
     *
     * @param articleType 实例对象
     * @return 实例对象
     */
    @Override
    public List<ArticleType> queryAll(ArticleType articleType) {
        return this.articleTypeMapper.selectAll(articleType);
    }

    /**
     * 新增数据
     *
     * @param articleType 实例对象
     * @return 实例对象
     */
    @Override
    public ArticleType add(ArticleType articleType) {
        this.articleTypeMapper.insertSelective(articleType);
        return articleType;
    }

    /**
     * 修改数据
     *
     * @param articleType 实例对象
     * @return 实例对象
     */
    @Override
    public ArticleType update(ArticleType articleType) {
        this.articleTypeMapper.updateByPrimaryKeySelective(articleType);
        return this.queryById(articleType.getId());
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean delById(String id) {
        return this.articleTypeMapper.deleteByPrimaryKey(id) > 0;
    }
}